Many electronic file management, storage, and related services are remote, or “cloud” based. That is, many services allow a user to upload, store, and share files through remote servers. These services frequently centralize files (e.g., photos) and allow a user to access these centrally stored files through multiple devices and/or locations, utilizing a single account. This is especially useful for at least three reasons. First, handheld devices, such as smart phones, tablets, and cameras, may have limited storage space. Second, as resolution and quality increases, files, such as photos and videos, are becoming very large. Third, the centrally stored files are more secure and less susceptible to data loss. Cloud-based storage helps to eliminate or reduce these problems by allowing a user to store large files remotely and then access them through multiple devices.
To make this process more efficient for the user, some services include an automatic upload or synchronization feature. These services allow a user to setup their device to allow automatic uploads of files to a central server system. When the user has multiple devices that are configured to allow for automatic uploads, a system runs the risk of receiving competing structural operations for a particular file from multiple devices. In a particular example, a user may take a photo on their smart phone, copy the photo to a laptop, and edit the photo on the laptop. The user may then sync the smart phone and laptop with the central server system causing competing structural operations. In another example, a desktop client can send a structural operation to delete a photo stored on a central server, while a mobile client sends a structural operation to add, rename, or edit the photo, thus causing competing structural operations. Thus, a need exists for improved systems, methods, and computer readable media for prioritizing structural operations and distributing changes in a synced online content management system.